#!/bin/bash
#author merci
#超过流量阀值发送邮件到邮箱

#流入阀值
RXThreshold="100000000"
#流出阀值
TXThreshold="500000000"

#############################################################################
#################################检测mailx###################################
#############################################################################
MAILXISEXIST=`rpm -qa | grep 'mailx'`
if [ ! $MAILXISEXIST ]
then
    yum install mailx -y
fi

########################################################################################
#####################################系统流量监控#######################################
########################################################################################

#获取开始入流量
InflowStart=`ifconfig eth1 | grep "RX bytes" | sed "s/RX bytes://" | awk '{print $1}'`
#获取开始出流量
OutflowStart=`ifconfig eth1 | grep "TX bytes" | sed "s/.*TX bytes://" | awk '{print $1}'`
#1s 延迟
sleep 1s
#获取结束入流量
InflowEnd=`ifconfig eth1 | grep "RX bytes" | sed "s/RX bytes://" | awk '{print $1}'`
#获取结束出流量
OutflowEnd=`ifconfig eth1 | grep "TX bytes" | sed "s/.*TX bytes://" | awk '{print $1}'`

Inflow=`awk 'BEGIN{printf "%d\n", '${InflowEnd}'-'${InflowStart}'}'`
Outflow=`awk 'BEGIN{printf "%d\n", '${OutflowEnd}'-'${OutflowStart}'}'`

#echo -e "inflow:  `expr ${Inflow} / 1000`KB"
#echo -e "outflow: `expr ${Outflow} / 1000`KB"

if [  $Inflow -gt $RXThreshold ]
then
    echo "RX Exceed threshold ！！！ ${Inflow}" | mailx -s "RX Exceed threshold" shevechco@qq.com
fi

if [ $Outflow -gt $TXThreshold ]
then
    echo "TX Exceed threshold ！！！ ${Outflow}" | mailx -s "TX Exceed threshold" shevechco@qq.com
fi